Index: Tools/SConscript
===================================================================
--- Tools/SConscript
+++ Tools/SConscript
@@ -16,7 +16,7 @@
 if env['VORBIS']:
 	env_libmuscan.ParseConfig('pkg-config --libs --cflags vorbisfile')
 	if conf.CheckLibWithHeader('', 'vorbis/vorbisfile.h', 'C++', 'ov_clear(0);'):
-		env_libmuscan.Append(CPPDEFINES = {'HAVE_VORBIS': 1})
+		env_libmuscan.Append(CPPDEFINES = 'HAVE_VORBIS=1')
 		print "OGG Vorbis found, compiling into muscan."
 	else:
 		print "OGG Vorbis NOT found, not compiled into muscan."
Index: Mucipher/SConscript
===================================================================
--- Mucipher/SConscript
+++ Micipher/SConscript
@@ -1,5 +1,5 @@
 Import('env')
-
+import os
 sources = Split("""
     md5.c
     sha.c
@@ -10,7 +10,10 @@
 
 
 env.StaticLibrary(target = 'ucipher', source = sources)
-
+if not os.path.exists("mucipher.i"):
+    open(str("mucipher.i"), "w").write(open(os.path.abspath("../../Mucipher/mucipher.i")).read())
+if not os.path.exists("wraphelp.c"):
+    open(str("wraphelp.c"), "w").write(open(os.path.abspath("../../Mucipher/wraphelp.c")).read())
 
 if 'swig' in env['TOOLS']:
     import os

Index: Mucipher/python/SConscript
==================================================================
--- Mucipher/python/SConscript
+++ Mucipher/python/SConscript
@@ -23,16 +23,26 @@
     env_swigpy.Append(LIBS = ['ucipher'])
     env_swigpy.Replace(SHLIBPREFIX='')
 
+    if not os.path.exists("mucipher.py"):
+        open(str("mucipher.py"), "w").write( open(os.path.abspath("../../../Mucipher/python/mucipher.py")).read())
+    if not os.path.exists("mucipher.i"):
+        open(str("mucipher.i"), "w").write(open(os.path.abspath("../mucipher.i")).read())
+    if not os.path.exists("wraphelp.c"):
+        open(str("wraphelp.c"), "w").write(open(os.path.abspath("../wraphelp.c")).read())
     env_swigpy.Command("mucipher.i", "../mucipher.i", file_copy)
     env_swigpy.Command("wraphelp.c", "../wraphelp.c", file_copy)
 
     mucipherc = env_swigpy.SharedLibrary('_mucipherc', sources, SWIGFLAGS='-python')
-
+    if type(mucipherc) == type([]):
+       mucipherc = mucipherc[0]
     py_dest = env['DESTDIR'] + os.path.join(sys.prefix, "lib", "python" + py_ver, "site-packages")
 
-    install = env.Install(py_dest, source = [ mucipherc, 'mucipherc.py',  'mucipher.py'])
+    dp1 = env_swigpy.Install(py_dest, 'mucipherc.py')
+    dp2 = env_swigpy.Install(py_dest, mucipherc)
+    dp3 = env_swigpy.Install(py_dest, "mucipher.py")
+    Depends(dp1, dp2)
 
-    env.Alias('install_mucipher',  install)
+    env.Alias('install_mucipher',  [dp1, dp2, dp3])
     env.Alias('install', 'install_mucipher')
 else:
        print "WARNING: Python.h include not found, please install Python's development packages"
